iT邦幫忙

2022 iThome 鐵人賽

DAY 6
0

這次的有用到jQuery,讓進度條動起來!

https://ithelp.ithome.com.tw/upload/images/20220920/20152137Xh2kudrqc6.png

HTML

有使用到data-寫法~

<div class="tool-chart" data-progress="90" data-title="degree">
  <div class="tag"></div>
  <div class="bar">
    <span></span>
  </div>

CSS

設定進度條外觀

.tool-chart{
  position: relative;
  width: calc(100% - 90px);
  left: 70px;
}
.tool-chart::after{
  content: attr(data-title);
  position: absolute;
  top: 0;
  right: calc(100% + 15px);
}
.bar{
  margin-top: 60px;
  margin-bottom: 5px;
  height: 15px;
  background: #eee;
  border-radius: 10px;
  
/*   讓進度條圓角被遮起來 */
  overflow: hidden;
}

tag搭配偽元素製作上方標籤

.tag{
  position: absolute;
  bottom: calc(100% + 7px);
  border-radius: 3px;
  background: #098789;
  padding: 5px;
  font-size: 15px;
  color: #fff;
  transform: translateX(-50%);

  left: 0%;
}
.tag::after{
  content:'';
  display: block;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 7px solid #098789;
  position: absolute;
  left: 50%;
  top: 100%;
  transform: translateX(-50%);
}
.bar span{
  display: inline-block;
  height: 120%;
  background: #098789;

  width: 0%;
}

jQuery

自動填入progress數值並移動到相對位置。

$(".tool-chart").each(function(){
  
  var progress = $(this).attr("data-progress");
  
  $(this).children(".tag").text(progress + "%")
    .animate({
    left: progress + "%",
  },1500
  );
  
  $(this).children(".bar").children("span").animate({
    width: progress + "%",
  },1500)
})

上一篇
用偽元素改寫input radio,自己設計「單選框」
下一篇
Bootstrap RWD應用,製作簡易「切換頁面」
系列文
轉職工程師前的技能學習!沒記起來就偷看筆記吧~7
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言